package com.wxlz.service;

import com.spire.pdf.PdfDocument;
import com.wxlz.service.pdf.PdfToImage;
import com.wxlz.service.util.PdfUtil;

import java.io.File;

/**
 * 注意：e-iceblue免费的只能转换10页 这里做了文档切割 9页一切
 */
public class main {
    public static void main(String[] args) throws Exception {

        /**
         * 比较pdfbox和e-iceblue 的 转化时间 （文档在10页之内）
         */
//        long s1 = System.currentTimeMillis();
        PdfToImage pdfToImage = new PdfToImage();
//        pdfToImage.toImage();
//        System.out.println("SUCCEED1!");
//        long s2 = System.currentTimeMillis();
//        System.out.println("第一种apache:" + (s2 - s1));
//        long s11 = System.currentTimeMillis();
//        pdfToImage.toImage2();
//        System.out.println("SUCCEED2!");
//        long s21 = System.currentTimeMillis();
//        System.out.println("第二种ice:" + (s21 - s11));

        /**
         * 下面只是 e-iceblue的大文件的处理及所用时间
         */
        StringBuilder sb = new StringBuilder(File.separator);
        //Linux 文件路径写法
        String pdfFilePath = sb.append("home").append(File.separator).append("wyr").append(File.separator).append("test.pdf").append(File.separator).toString();
        //window 文件路径
        ////        String pdfFilePath = "E:\\test\\pdf\\test.pdf";
//
        PdfUtil.splitPdf(pdfFilePath,9); //切割文件 9页为一文档
        PdfDocument document = new PdfDocument();
        document.loadFromFile(pdfFilePath);
        //计算总页数 并算出分割后多少个文件
        int page = document.getPages().getCount();
        double pageSpilt = Math.ceil(page/9);
        int num = (int)pageSpilt; //多少个文件
        String path = pdfFilePath;
        long s11 = System.currentTimeMillis();
        for (int i = 0;i<=num;i++){
//            path = "E:\\test\\pdf\\test("+i+").pdf";
            StringBuilder sb1 = new StringBuilder(File.separator);
            //拼接访问文件的路径
            path = sb1.append("home").append(File.separator).append("wyr").append(File.separator).append("test.(").append(i).append(").pdf").append(File.separator).toString();
            pdfToImage.toImage2(path);

        }
        System.out.println("SUCCEED2!");
        long s21 = System.currentTimeMillis();
        System.out.println("第二种ice:" + (s21 - s11));

    }
}
